package com.stm.bi.dto.vo;

import com.stm.framework.annotation.ResParam;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 科目-返回对象
 *
 * @author qinyongjie
 * @date 2025-05-22
 */
@Data
@Accessors(chain = true)
public class SubjectVO {

    @ResParam(label = "主键ID")
    private Long id;

    @ResParam(label = "科目名称-每个租户可以有自己的同名科目，不会相互冲突")
    private String name;

    @ResParam(label = "科目ID编码")
    private String subjectCode;

    @ResParam(label = "归属分类ID")
    private Long categoryId;

    @ResParam(label = "参数类型-字典")
    private String paramType;

    @ResParam(label = "科目参数-字典-多选数组")
    private List<String> subjectParam;

    @ResParam(label = "科目定义")
    private String definition;

    @ResParam(label = "字段名-科目标识-仅限字母")
    private String fieldName;

    @ResParam(label = "单位:1-整数,2-小数,3-万,4-比率")
    private Integer unit;

    @ResParam(label = "随机数范围，如0-1000")
    private String randomRange;

    @ResParam(label = "状态：0-可编辑，1-锁定(不可更改)")
    private Integer status;

    @ResParam(label = "备注")
    private String remark;

    @ResParam(label = "科目参数拼接")
    private String subjectParamStr;

    @ResParam(label = "创建人")
    private String creator;

    @ResParam(label = "创建时间")
    private LocalDateTime createDt;
}
